// These are meant to be typed into the REPL. You can also run
// scala -Xnojline < repl-session.scala to run them all at once.
/**
  * 3.2 while 表达式
  * Scala 提供和 Java 一样的 while 和 do 循环， 与 If 语句不同， While 语句
  * 本身没有值，即整个 While 语句的结果是 Unit 类型的()。
  *
  * 注： scala 并没有提供 break 和 continue 语句来退出循环，如果需要 break，可以
  * 通过几种方法来做 1、使用 Boolean 型的控制变量 2、使用嵌套函数，从函数中
  * return 3、 使用 Breaks 对象的 break 方法。
  */
var r = 1
var n = 10
// while 循环
while (n > 0) {
  r = r * n
  n -= 1
  println(r)
}

r = 1
n = 10

// do while 循环
do{
  r = r * n
  n -= 1
  println(r)
}while(n > 0)


import scala.util.control.Breaks._

r = 1
n = 10
// break
breakable {
  while (n > 0) {
    r = r * n
    n -= 1
    println(r)
    if(r == 720) break;
  }
}
